Method and System for Communicating and Displaying Data With a Voice Call

ABSTRACT

A method of communicating information describing a voice call from a caller to a recipient comprises steps of obtaining call subject information describing the call and communicating the call subject information to the recipient to inform the recipient about the call. The call subject information can be presented as a subject line displayed to a recipient in which the caller provides information about the nature of the call and/or its urgency, which thus enables the recipient to better judge whether it should be answered immediately. The call subject information can be input as text by the caller or it can be extracted automatically from a calendar application or a messaging application.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. §119(e) from U.S.Provisional Patent Application Ser. No. 60/915,298 filed May 1, 2007.

TECHNICAL FIELD

The present disclosure relates generally to wireless communicationsdevices and, in particular, to techniques for communicating and/ordisplaying information regarding a voice call that is transmitted orreceived by a wireless communications device.

BACKGROUND

Wireless communications devices such as the BlackBerry® by Research inMotion Limited enable users to communicate by placing voice calls or bysending text-based messages (e.g. e-mail, SMS, MMS, etc.).

When receiving a voice call, the device may display the caller's nameand number provided the device is enabled with “Caller ID” or “CallDisplay” technology (and provided, of course, that the caller hasn'tsquelched his identity using “Call Block” or by using a private numberwhich results in the display merely showing “Private Number” or “UnknownNumber”). When a recipient receives an incoming call, therefore, theonly form of caller identification is the caller's phone number andeither the person's name or the company's name. If only the caller'snumber is displayed, then additional information about the caller canpotentially be obtained by attempting to correlate the number of theincoming call with known numbers stored in the device's address book. Inmany cases, the amount of information available to call recipient isquite limited.

BRIEF DESCRIPTION OF THE DRAWINGS

Further features and advantages of the present technology will becomeapparent from the following detailed description, taken in combinationwith the appended drawings, in which:

FIG. 1 is a block diagram of key components of a wireless communicationssystem on which the present technology can be implemented;

FIG. 2 is a screenshot of an example of a call setup screen;

FIG. 3 is a screenshot of an example of an incoming call screen;

FIG. 4 is a screenshot of an example of a connected call screen;

FIG. 5 is a screenshot of an example of a drop-down menu for placing acall from within an e-mail message;

FIG. 6 is a screenshot of an example of an incoming call originatingfrom a messaging application;

FIG. 7 is a screenshot of an example of a meeting request screen fromwhich a call can be placed;

FIG. 8 is a screenshot of an example of a pull-down menu for originatinga call from within a meeting request;

FIG. 9 is a screenshot of an example of an incoming call originatingfrom a meeting request;

FIG. 10 is a flowchart showing steps of setting up a call using thepresent technology;

FIG. 11 is a flowchart showing steps of displaying subject lineinformation for an incoming call;

FIG. 12 is a flowchart showing steps of setting up a call byauto-populating a call subject field based on application context;

FIG. 13 is a schematic depiction of a wireless communications system forimplementing the present technology; and

FIG. 14 is a flowchart depicting main steps of routing a call havingsubject line information.

It will be noted that throughout the appended drawings, like featuresare identified by like reference numerals.

DETAILED DESCRIPTION

Given today's hectic work environment, certain calls (even from knowncallers) might have to be ignored if the receiver is too busy to answer,in a meeting, or otherwise occupied. However, it would be very useful toenable the caller to provide further information to the recipient aboutthe call so that the recipient could make a more informed decision aboutwhether to answer the call.

The present technology provides a solution to the problem set forthabove by enabling a user to enter textual information in a call subjectline that would be pushed to the recipient for displaying in an incomingcall screen so as to provide additional information to the recipientregarding the context of the call and/or to signify theimportance/priority of the call.

Thus, an aspect of the present technology is a method of communicatinginformation describing a voice call from a caller to a recipient. Themethod includes steps of obtaining call subject information describingthe call and communicating the call subject information to the recipientto inform the recipient about the call.

Another aspect of the present technology is a method of displaying callinformation about an incoming voice call. The method includes steps ofreceiving call subject data associated with the incoming voice call,processing the call subject data to obtain call subject informationdescribing the incoming call, and displaying the call subjectinformation to a recipient of the incoming voice call to inform therecipient about the nature of the incoming call.

Yet another aspect of the present technology is a computer programproduct that includes code adapted to perform the steps of either orboth of the two foregoing methods when the computer program product isloaded into memory and executed on a processor of a wirelesscommunications device or other computing device.

Yet a further aspect of the present technology is a wirelesscommunications device having an input device for initiating a voicecall, a processor coupled to memory to generate call subject informationdescribing the call, and a radiofrequency transceiver for communicatingthe call subject information to the recipient to inform the recipientabout the call.

Yet another aspect of the present technology is a wirelesscommunications device for displaying call information about an incomingvoice call. The device includes a radiofrequency transceiver forreceiving call subject data associated with the incoming voice call, aprocessor coupled to memory for processing the call subject data toobtain call subject information describing the incoming call, and adisplay for displaying the call subject information to a recipient ofthe incoming voice call to inform the recipient about the nature of theincoming call.

Yet another aspect of the present technology is a server for dispatchingcall subject information to a recipient describing a voice callinitiated by a caller to the recipient. The server includes a data portfor receiving call subject data to be dispatched to the recipient, and aprocessor for determining a routing address for the recipient fordispatching the call subject data to the routing address of therecipient to inform the recipient about the call.

The details and particulars of these aspects of the technology will nowbe described below, by way of example, with reference to the attacheddrawings.

FIG. 1 is a block diagram of key components of a wireless communicationssystem for implementing the present technology. It should be expresslyunderstood that this figure is intentionally simplified to show onlycertain components; the system, map server and wireless communicationdevice of course each include other components beyond those shown inFIG. 1.

As depicted in FIG. 1, the system includes a wireless communicationsdevice 100 that has a microprocessor 102 (or simply a “processor”) whichinteracts with memory in the form of RAM 104 and flash memory 106, as iswell known in the art. The device 100 includes an RF (radio-frequency)transceiver 108 for communicating wirelessly with one or more basestations 200 connected via a wireless network to the Internet 210 toenable e-mail and Web browsing, for example. The device 100 mayoptionally include a GPS (Global Positioning System) receiver chipset110 for receiving GPS radio signals transmitted from one or moreorbiting GPS satellites 300. In terms of input/output devices or userinterfaces (UI), the device 100 typically includes a display 112 (e.g. asmall LCD screen), a thumbwheel and/or trackball 114, a keyboard orkeypad 116, a USB 118 or serial port for connecting to peripheralequipment, a speaker 120 and a microphone 122. The processor and memorythus enable a variety of applications (messaging, calendaring, etc.) torun on the wireless device. The speaker 120, microphone 122 and RFtransceiver circuitry 108 form part of a voice communication subsystemthat enables cellular communication for placing or receiving voicecalls.

FIG. 2 is a screenshot of an example of a call setup screen. A “callsubject” line feature in accordance with the present technology enablesa caller to enter “call subject information” into an alphanumeric editcontrol in the call user interface (UI) of the device while setting up acall, as shown in the call setup example presented in FIG. 2.

In the example presented in FIG. 2, the “Call Subject:” text input fieldprompts the caller to enter alphanumeric text to describe the subject ortopic of the call that will then be transmitted to the call recipientwhen placing the call. The text field can accept an entry of asystem-configurable character length.

When the recipient receives a call from the caller, an “Incoming Call”screen may be displayed on the device as shown in FIG. 3, which presentsone example of an incoming call screen in accordance with thistechnology. Displaying this incoming call screen to the call recipientenables the latter to read the subject or the topic of the call as shownin the example presented in FIG. 3. In this particular example, the callsubject line reads “Call Subject: Need to verify account number rightaway!”. This call subject information therefore provides the recipientwith additional information about the nature of the call to enable thecall recipient to judge or decide whether to accept the call or not atthat time. In this particular example, the incoming call screen showsthe name of the caller, her telephone number and an Answer/Ignore pop-upbox for enabling the user of the device (the intended recipient of thecaller's call) to either answer the call or to ignore it. This callsubject information is thus information that is additional to thecaller's name and telephone number. It should be appreciated that theuser can enter any text even if it is, in fact, unrelated to the subjector topic of the call. It should also be appreciated that the prefatorywords “Call Subject:” could be suppressed to provide more text space forslightly longer messages. Again, the user could configure the device toeither display the prefatory words “Call Subject:” (or an equivalentphrase) or to suppress these prefatory words altogether.

If the user chooses to answer the call, a “call connected” screen may bedisplayed. An example of a “call connected” screen is presented in FIG.4. As shown in this particular example, the call subject information(“Need to verify account number right away!”) may remain on the displayor, alternatively, may be made to disappear once the call is answered.Whether the call subject information persists or is suppressed once thecall is answered may be a user-configurable option or setting.

From the foregoing, it should be understood that this novel method ofcommunicating information describing a voice call from a caller to arecipient entails steps of obtaining call subject information describingthe call and then communicating the call subject information to therecipient to inform the recipient about the call. Obtaining the callsubject information can be accomplished by prompting the caller to inputtext describing the call (as described and illustrated above).Alternatively, though, the step of obtaining call subject informationmay be achieved by automatically extracting contextual call subjectinformation from an application executing on the device. For example,automatically extracting contextual call subject information can entailextracting meeting information from a calendar application or extractingsubject information from a messaging application, such as email orinstant messenger, or from any other application from which contextualcall information can be extracted.

In one example, the present technology enables the caller toauto-populate the “Call Subject” line based on the current deviceapplication context. The “application context” means the applicationsfrom within which the call is initiated. For example, where the call isinitiated from within a calendar application or a messaging application,then the device extracts subject information automatically toauto-populate the call subject line. Although calendar and messagingapplications are described by way of examples, the auto-population ofcall subject line can also be done with other applications that containrelevant call subject information.

With reference now to FIG. 5, a caller can use information containedwithin an open message in a messaging application to auto-populate thecall subject line. For example, from within a messaging application, thecaller can scroll through the message body and any phone number entriesfound will be highlighted to enable the user to place a call to thehighlighted number through the menu entry “Call xxx-xxx-xxxx”. Thepresent technology thus enables a caller to place a call to thehighlighted number with the current message subject line as the “Callsubject” through the selection of the additional menu entry “Callxxx-xxx-xxxx (call subject)” as shown in FIG. 5.

FIG. 6 is a screenshot of an example of an incoming call originatingfrom a messaging application. The call recipient will see the “IncomingCall” screen displayed on their device as shown in FIG. 6 with the “CallSubject” field populated by the e-mail message subject (e.g. “CallSubject: Urgent call”).

FIG. 7 is a screenshot of an example of a meeting request screen fromwhich a call can be placed. In other words, from the “Calendar”application the user can open a meeting request and scroll down to the“Invited” list, and select an invitee to call, as shown in FIG. 7.Placing a call from within a meeting request can be useful if trying tomake last-minute arrangements with an invitee who may be busy preparingfor the meeting (and who might only want to be disturbed if he knows ithas something to do with the upcoming meeting). As shown in FIG. 7, whenthe invitee name is highlighted a menu can then be invoked with a menuitem to “Call (selected invitee)”.

FIG. 8 is a screenshot of an example of a pull-down menu for originatinga call from within a meeting request or calendar entry in a calendarapplication. As depicted in FIG. 8, the present technology enables thecaller to place a call where the meeting entry “Subject” and “Location”and timestamp are included as the “Call subject”. The device can beconfigured to auto-populate all or a subset of these data entries (suchas subject and location only or location and timestamp only or subjectand timestamp only). As shown in FIG. 8, the technology allows for acall to be placed through an additional menu entry “Call (invitee) withmeeting subject/location/timestamp”. The call recipient will see the“Incoming Call” screen displayed as shown by way of example in FIG. 9.In the particular example presented in FIG. 9, the incoming call isoriginating from a meeting request and the call subject line has beenauto-populated with the meeting time (e.g. “Meeting 1 pm-2pm”) and themeeting location (e.g. “Location Moonraker Room”) which is all dataextracted from the meeting request.

FIG. 10 is a flowchart showing steps of setting up a call using thepresent technology. First, a “Place Call” screen is invoked at step 400by the user on the device, and the user can select whom to call byeither entering a number or selecting a call recipient from, forexample, an entry in an address book, an email in a messagingapplication, a meeting request or entry in a calendar application, orany other means on the device. The “call subject” field can now bepopulated by the device's user if this is desired.

At step 402, the device determines whether the user wishes to place thecall (“Place Call”), or whether the user chooses to exit the “PlaceCall” screen. If the user chooses to exit the “Place Call” screen (step404), the user is returned to a previous screen (e.g. back to anapplication context from which the aborted call was initiated).

If the user has chosen to place the call, then the device will determineif the “call subject” entry field is populated (step 406) either by userdata entry or by application-context-specific auto-population of thecall subject field. It should be noted that, as an optional feature, theuser may be allowed to edit the auto-populated subject field (i.e.engage in “post-user editing”) to customize or edit the call subjectinformation.

At step 408, transmission of the “call subject” data package isinitiated. At step 410, the device then determines whether the “callsubject” data transmission was successful within the appropriate timeframe. In other words, the device determines if no response is receivedwithin the appropriate time frame or if an error status is received.

If the call subject data transmission is not successful, the device (atstep 412) updates the “Call Subject” text field in the “Calling/CallConnected” screen with the error status code including transmissiontime-out response for the “call subject” data package.

If the call subject data transmission is successful, the call is set upand placed over the appropriate network, at step 414, and then the PlaceCall operation ends (step 416).

FIG. 11 is a flowchart showing steps of displaying subject lineinformation for an incoming call. As an initial step 500, the devicedetermines if it recognizes the incoming data as being call subjectdata.

If the incoming data package (or received data package) is marked orotherwise identifiable as a “call subject” data package, then callsubject data is stored (step 502) by committing the call subject data toa device memory (designated by reference numeral 504, but which maysimply be a memory portion of the device's RAM 104 or flash memory 106which were introduced with reference to FIG. 1). If not, at step 506,the device prepares an initial display of the “Incoming Call” screen by,for example, presenting only the telephone number of the incoming voicecall and/or the name or organization associated with the telephonenumber.

At step 508, the device determines whether call subject data isavailable. If “call subject” data is available, then the deviceretrieves (step 510) the “call subject” data from the device memory 504and populates (step 512) all the fields of the incoming call screen. Ifno call subject data is available, then the device populates all“Incoming Call” data fields with whatever data is available, e.g. justthe telephone number and name.

As further shown in the flowchart of FIG. 11, the device then displaysthe “Incoming Call” screen, at step 514, to present the call subjectinformation to the recipient of the call and then (at step 516) ends theinitial screen display operation.

FIG. 12 is a flowchart showing steps of setting up a call byauto-populating a call subject field based on application context.

As an initial step 600, a “Place Call” screen is invoked from within acall-enabled device application, e.g. a messaging application or acalendar application. In this particular implementation of thetechnology, the device then determines (step 602) whether the invokingapplication is “Messaging” or if the invoking application is “Calendar”.If it is neither application, in this particular implementation of thetechnology, the call subject population operation is terminated (Step604) and regular call setup proceeds.

If the invoking application is “Messaging”, the device retrieves themessage subject from a currently open message at step 606.Alternatively, if the invoking application is “Calendar”, the deviceretrieves the calendar entries for appointment timestamp, subject andlocation (or optionally a subset thereof), at step 608.

Regardless whether the invoking application is “Messaging” or“Calendar”, the device then auto-populates (step 610) the appropriatedata fields in the “call subject” data package based on the invokingapplication from within which the call has been initiated. In thesubsequent step (step 612), transmission of the “call subject” datapackage is initiated.

At step 614, the device then determines if the “call subject” datatransmission is successful within the appropriate time frame. If noresponse is received within the appropriate time frame or an errorstatus is received (step 616), then the device updates the “callsubject” text field for the “Calling/Call Connected” screen with theerror status code including transmission time out response for the “callsubject” data package.

On the other hand, at step 618, if the transmission of the call subjectdata package was successful, the call is set up and placed over theappropriate network (by displaying the “Place Call” screen at step 620).At step 620, the initial “Place Call” operation thus ends.

FIG. 13 is a schematic depiction of a wireless communications system forimplementing the present technology. FIG. 13 presents a high-levelgeneric server and client interaction for a wireless communicationssystem having a BlackBerry® Enterprise Server (BES) or similarimplementation.

The BES will in this implementation act as a routing agent for the “callsubject” data package based on available and selected data transmissionchannels. Alternatively, a scenario where data is pushed directlybetween two “call subject”-capable devices can also be envisioned.

For the server-side description, with reference also to the flowchart ofFIG. 14, what will follow here only describes a generic routing processof the “call subject” data package where the BES is deemed to be theappropriate routing agent based on device capabilities and networkavailability and selection for data channel transmission.

FIG. 14 is a flowchart depicting main steps of routing a call havingsubject line information. In the initial step 700 shown in thisflowchart, a decision is made as to whether an incoming data package isor is not a “call subject” data package. If the incoming data is notcall subject data, then BES operation continues conventionally at step718 (i.e. operations continue without dispatching any call subjectinformation). On the other hand, if the incoming data is in fact callsubject data, then the next step (step 702) is to determine a packagerouting address and then to determine (step 704) whether the packagerouting address is valid and reachable. If the routing address is notvalid and reachable, then the next step (step 706) is to set an errorstatus code and to return the status code to the initiator (step 716).On the other hand, if the routing address is valid and reachable, thenext step (step 708) is to commit the entry to a log (if logging isenabled). Subsequently, in step 710, the “call subject” data package isdispatched to the call recipient. At step 712, it is determined whetherthe package dispatch was successful. If the package dispatch wassuccessful, then the success status code is set (step 714). If thepackage dispatch was not successful, then the error status code is notset (step 706). In subsequent step 716, the success status code (oralternatively the error status code) is returned to the initiatoraddress, and then normal BES operation continues at step 718.

In the foregoing examples, the call subject data is transmitted,received, and processed (into intelligible call subject information) ina time frame such that the call subject information is displayed on thedisplay screen of the receiving device approximately contemporaneouslywith the arrival of the call (and the initial sounding of the ringtone). While this is the most desirable result, it should be appreciatedthat the call subject information may be displayed slightly before thering tone begins to sound or slightly after the ring tone has begun tosound.

In a further implementation, the call subject data may be forwarded to avoicemail server in the event that the call is unanswered or in theevent that the called party is already on another call. In other words,if the called party has voicemail service, then the call subject datacan be forwarded to the voicemail server whereupon it may be accessed bythe called party or automatically pushed to the called party as part ofa text-based message indicating that the called party has new voicemail. By way of example only, an e-mail may be sent to the calledparty's wireless communications device with a subject line: “New VoiceMail re: (call subject information)”.

This new technology has been described in terms of specificimplementations and configurations which are intended to be exemplaryonly. The scope of the exclusive right sought by the Applicant istherefore intended to be limited solely by the appended claims.

1. A method of communicating information describing a voice call from acaller to a recipient, the method comprising steps of: obtaining callsubject information describing the call; and communicating the callsubject information to the recipient to inform the recipient about thecall.
 2. The method as claimed in claim 1 wherein the step of obtainingcall subject information comprises a step of prompting the caller toinput text describing the call.
 3. The method as claimed in claim 1wherein the step of obtaining call subject information comprises a stepof automatically extracting contextual call subject information from anapplication executing on the device.
 4. The method as claimed in claim 3wherein the step of automatically extracting contextual call subjectinformation comprises a step of extracting meeting information from acalendar application.
 5. The method as claimed in claim 3 wherein thestep of automatically extracting contextual call subject informationcomprises a step of extracting subject information from a messagingapplication.
 6. The method as claimed in claim 1 further comprising astep of specifying an urgency of the call.
 7. A computer program productcomprising code which, when loaded into memory and executed on aprocessor of a wireless communications device, is adapted to perform thesteps of: obtaining call subject information describing the call; andcommunicating the call subject information to the recipient to informthe recipient about the call.
 8. A method of displaying call informationabout an incoming voice call, the method comprising steps of: receivingcall subject data associated with the incoming voice call; processingthe call subject data to obtain call subject information describing theincoming call; and displaying the call subject information to arecipient of the incoming voice call to inform the recipient about thenature of the incoming call.
 9. The method as claimed in claim 8 whereinthe step of the processing the call subject data comprises extractingpriority data indicative of an urgency of the call to enable thedisplaying of the urgency of the call to the recipient.
 10. The methodas claimed in claim 8 wherein the call subject information comprisestext input by the caller.
 11. The method as claimed in claim 8 whereinthe call subject information comprises text automatically generatedbased on a context in which the call is initiated.
 12. The method asclaimed in claim 11 wherein the text is automatically generated byextracting information from a calendar application.
 13. The method asclaimed in claim 11 wherein the text is automatically generated byextracting information from a messaging application.
 14. A computerprogram product comprising code which, when loaded into memory andexecuted on a processor of a wireless communications device, is adaptedto perform the steps of: receiving call subject data associated with anincoming voice call; processing the call subject data to obtain callsubject information describing the incoming call; and displaying thecall subject information to a recipient of the incoming voice call toinform the recipient about the nature of the incoming call.
 15. Awireless communications device comprising: an input device forinitiating a voice call; a processor coupled to memory to generate callsubject information describing the call; and a radiofrequencytransceiver for communicating the call subject information to therecipient to inform the recipient about the call.
 16. The wirelesscommunications device as claimed in claim 15 wherein the input deviceenables a user to input text describing the call.
 17. The wirelesscommunications device as claimed in claim 15 wherein the processor andmemory cooperate to automatically generate the call subject informationbased on an application context in which the call is initiated.
 18. Awireless communications device for displaying call information about anincoming voice call, the device comprising: a radiofrequency transceiverfor receiving call subject data associated with the incoming voice call;a processor coupled to memory for processing the call subject data toobtain call subject information describing the incoming call; and adisplay for displaying the call subject information to a recipient ofthe incoming voice call to inform the recipient about the nature of theincoming call.
 19. The wireless communications device as claimed inclaim 18 wherein the call subject information comprises text input by acaller who has initiated the call.
 20. The wireless communicationsdevice as claimed in claim 18 wherein the call subject informationcomprises text automatically generated based on a context in which thecall is initiated.
 21. A server for dispatching call subject informationto a recipient describing a voice call initiated by a caller to therecipient, the server comprising: a data port for receiving call subjectdata to be dispatched to the recipient; and a processor for determininga routing address for dispatching the call subject data to the routingaddress of the recipient to inform the recipient about the call.